package design.observer;

import java.util.Collection;
import java.util.Observable;
import java.util.Observer;

/**
 * 通知者：
 * 一个一个添加是有点烦，可以以list的形式添加
 *
 * @author wei.yang on 2018/8/31
 */
class CustomerObservable extends Observable {

    CustomerObservable() {
    }

    /**
     * 设置通知消息及告知被通知者有新消息到来
     *
     * @param notice 消息
     */
    void setNotice(Object notice) {
        // 通知有新消息来了
        super.setChanged();
        // 该方法用于通知新的消息是什么内容
        super.notifyObservers(notice);
    }

    /**
     * 集合添加
     *
     * @param observers 被通知者
     */
    void addObservers(Collection<Observer> observers) {
        observers.forEach(this::addObserver);
    }
}
